//package com.hxbd.test.utils;
//
//import java.lang.reflect.Method;
//import java.util.HashMap;
//import java.util.Map;
//
//import org.apache.commons.lang3.StringUtils;
//import org.testng.Assert;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.hxbd.test.handles.PageElementHandler;
//import com.jumei.rpc.text.client.AbstractTextProtocol;
//public class RPCUtils extends AbstractTextProtocol{
//	private static String COMMAND = "command";
//	private static String USER = "user";
//	private static String PWD = "pwd";
//	private static String SECRET = "secret";
//	private static String command,user,pwd,secret;
//	static {
//		command = PageElementHandler.getStoreSettingPageProperties().getProperty(COMMAND);
//		user = PageElementHandler.getStoreSettingPageProperties().getProperty(USER);
//		pwd = PageElementHandler.getStoreSettingPageProperties().getProperty(PWD);
//		secret = PageElementHandler.getStoreSettingPageProperties().getProperty(SECRET);
//	}
//	/**
//	 * 
//	 * @param host
//	 * @param port
//	 * @param param
//	 * @return
//	 */
//	public static String callRpcInterface (String host, String port, String service, String method, String param) {
//	        Map<String, String> conf = new HashMap<String, String>();
//	        conf.put("host", host);  // 若服务端存在多个地址, 使用哪个地址, 需要自己处理 (常用办法: 1.随机取其中一个, 2.自己做负载均衡选址)
//	        conf.put("port", port);
//	        conf.put("command", command);
//	        conf.put("user", user);
//	        conf.put("pwd", pwd);
//	        conf.put("secret", secret);
//	        Map<String, Object> m = InterfaceUtils.getActualrm();
//			for (String key : m.keySet()) {
//				if (param.contains(key)) {
//					Object mapvalue = m.get(key);
//					if (mapvalue == null) {
//						mapvalue = "";
//					}
//					param = param.replaceAll(InterfaceUtils.replaceSpecialChar(key), mapvalue.toString());
//				}
//			}
//			try {
//				param = InterfaceUtils.invokeMethod(param, InterfaceUtils.class);
//			} catch (Exception e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//				Assert.fail("反射调用方法失败", e.fillInStackTrace());
//			} 
//	        Object o = JSON.parse(param);
//	        JSONArray ja = new JSONArray();
//	        if (o instanceof JSONArray) {
//	        	ja = (JSONArray) o;
//	        }
//	        else if (o instanceof JSONObject){
//	        	ja.add(o);
//	        }
//	        else {
//	        	Assert.fail("请输入JSON格式数据");
//	        }
//	        RPCUtils rpc = new RPCUtils();
//	        String response = rpc.getSocketStream(conf, service, method, ja);
//	        return response;
//	}
//
//}
